/**************************************************
* 创建作者：	咕咕咕
* 创建时间：	2020-12-14
* 作用描述：	#创建运算符的工厂
***************************************************/

namespace Utils.Calc
{
	public class OperatorFactory
	{
		#region ----静态方法----
		public static Operator Create(CalcChar cc)
        {
            switch (cc.Cell)
            {
				case '+':
					return new AddOperator();
				case '-':
                    if (!Operator.IsOperator(cc.Last))
                    {
						return new SubOperator();
                    }
                    else
                    {
						return new NegOperator();
                    }
				case '*':
				case 'x':
					return new MulOperator();
				case '/':
				case '÷':
					return new DivOperator();
				case '√':
					return new SqrOperator();
				case '^':
					return new ExpOperator();
				case '(':
					return new LeftOperator();
            }

			return null;
        }
		#endregion
	}
}